package d0508;

public class Demo2 {
	
	public static void main(String[] args) {
		
		
		// System.out.println(Demo1.a);
		
		B b = new B();
		
		C c = new C();
		
		new C.Y();
		
	}

}


class A {
	// 静态块
	static {
		System.out.println(1);
	}
	// 实例块(代码块)
	{
		System.out.println(2);
	}
	// 构造函数
	A(){
		System.out.println(3);
	}
}

class B extends A {
	// 静态块
	static {
		System.out.println(4);
	}
	// 实例块(代码块)
	{
		System.out.println(5);
	}
	// 构造函数
	B(){
		System.out.println(6);
	}
	
}

class C {
	
	public void test() {
		new X();
		
		new Y();
		
		// 匿名内部类
		new Z() {
			
		};
		
	}
	
	//内部类 
	public class X{
		
	}

	//内部类(静态)
	public static class Y{
		
	}
	
	interface Z {
		
	}
	
}


























